#ifndef DRAWING_MODEL_H
#define DRAWING_MODEL_H

#include <string>
#include "Drawing/Model/Mesh.h"
#include "Drawing/Model/Material.h"

namespace drawing {

	class Model {
	public:
		Model();
		Model( Mesh* mesh, const std::string& textureFilename, Material material );
		Model( const Model& other );
		Model& operator=( const Model& other );

		inline Material GetMaterial() const { return m_material; }
		inline void SetMaterial( const Material& material ) { m_material = material; }

		inline std::string GetTextureFilename() const { return m_textureFilename; }
		inline void SetTextureFilename( const std::string& textureFilename ) { m_textureFilename = textureFilename; }

		inline Mesh* GetMesh() const { return m_mesh; }
		inline void SetMesh( Mesh* mesh ) { m_mesh = mesh; }

	private:
		Mesh* m_mesh;
		std::string m_textureFilename;
		Material m_material;

	};
}
#endif // DRAWING_MODEL_H
